Interact

The interact function provides a high-level interface for creating user interface controls to use in exploring code and data interactively.


In [1]:
from IPython.html.widgets import interact, interactive, fixed
from IPython.html import widgets
from IPython.display import clear_output, display, HTML

Basic interact

Here is a simple function that displays its arguments as an HTML table:


In [2]:
def show_args(**kwargs):
    s = '<h3>Arguments:</h3><table>\n'
    for k,v in kwargs.items():
        s += '<tr><td>{0}</td><td>{1}</td></tr>\n'.format(k,v)
    s += '</table>'
    display(HTML(s))

In [3]:
show_args(a=10, b='Hi There', c=True)


Arguments:

a10
cTrue
bHi There

Let's use this function to explore how interact works.


In [4]:
i = interact(show_args,
         Temp=(0,10),
         Current=(0.,10.,0.01),
         z=True,
         Text=u'Type here!',
         #Algorithm=['This','That','Other'],
         a=widgets.FloatSliderWidget(min=-10.0, max=10.0, step=0.1, value=5.0, description="Float (a)")
         )


Arguments:

Current4.99
TextType here!
zTrue
Temp5
Float (a)5.0

In [5]:
i.widget


Arguments:

Current4.99
TextType here!
zTrue
Temp5
Float (a)5.0